home *** CD-ROM | disk | FTP | other *** search
- package netscape.ldap;
-
- import java.util.Enumeration;
- import java.util.NoSuchElementException;
-
- public class LDAPCompareAttrNames implements LDAPEntryComparator {
- String[] m_attrs;
- boolean[] m_ascending;
-
- public LDAPCompareAttrNames(String var1) {
- this.m_attrs = new String[1];
- this.m_attrs[0] = var1;
- this.m_ascending = new boolean[1];
- this.m_ascending[0] = true;
- }
-
- public LDAPCompareAttrNames(String var1, boolean var2) {
- this.m_attrs = new String[1];
- this.m_attrs[0] = var1;
- this.m_ascending = new boolean[1];
- this.m_ascending[0] = var2;
- }
-
- public LDAPCompareAttrNames(String[] var1) {
- this.m_attrs = var1;
- this.m_ascending = new boolean[var1.length];
-
- for(int var2 = 0; var2 < var1.length; ++var2) {
- this.m_ascending[var2] = true;
- }
-
- }
-
- public LDAPCompareAttrNames(String[] var1, boolean[] var2) {
- this.m_attrs = var1;
- this.m_ascending = var2;
- if (this.m_ascending == null) {
- this.m_ascending = new boolean[var1.length];
-
- for(int var3 = 0; var3 < var1.length; ++var3) {
- this.m_ascending[var3] = true;
- }
- }
-
- }
-
- public boolean isGreater(LDAPEntry var1, LDAPEntry var2) {
- return var1.equals(var2) ? false : this.attrGreater(var1, var2, 0);
- }
-
- boolean attrGreater(LDAPEntry var1, LDAPEntry var2, int var3) {
- Enumeration var4 = var1.getAttributeSet().getAttributes();
- Enumeration var5 = var2.getAttributeSet().getAttributes();
- String var6 = null;
- String var7 = null;
- String var8 = this.m_attrs[var3];
- boolean var9 = this.m_ascending[var3];
-
- try {
- while(var5.hasMoreElements()) {
- LDAPAttribute var10 = (LDAPAttribute)var5.nextElement();
- if (var8.equalsIgnoreCase(var10.getName())) {
- var7 = (String)var10.getStringValues().nextElement();
- break;
- }
- }
-
- while(var4.hasMoreElements()) {
- LDAPAttribute var13 = (LDAPAttribute)var4.nextElement();
- if (var8.equalsIgnoreCase(var13.getName())) {
- var6 = (String)var13.getStringValues().nextElement();
- break;
- }
- }
- } catch (ClassCastException var11) {
- return false;
- } catch (NoSuchElementException var12) {
- return false;
- }
-
- if (var7 == null ^ var6 == null) {
- return var6 != null;
- } else if (var7 != null && !var7.equalsIgnoreCase(var6)) {
- if (var9) {
- return var6.compareTo(var7) > 0;
- } else {
- return var6.compareTo(var7) < 0;
- }
- } else {
- return var3 == this.m_attrs.length - 1 ? false : this.attrGreater(var1, var2, var3 + 1);
- }
- }
- }
-